/**
 * 基于 XMLHttpRequest 的 ajax 请求封装
 */

var ajax = Object.create(null)

ajax.getJSON = function (url, cb) {
  var xhr = new XMLHttpRequest()
  // 监听
  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) { // 请求完成
      xhr.onreadystatechange = function () {}
      let result
      if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) { // 请求成功
        result = xhr.responseText
        result = JSON.parse(result)
        cb(null, result)
      } else {
        cb(new Error(xhr.status + ' - ' + xhr.statusText || ''), null)
      }
    }
  }
  xhr.open('GET', url)
  xhr.send(null)
}

export default ajax
